package com.sky.activity.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.sky.common.annotation.Excel;
import com.sky.common.core.domain.BaseEntity;

/**
 * 志愿者活动管理对象 tb_volunteer_activity
 * 
 * @author ruoyi
 * @date 2025-11-07
 */
public class TbVolunteerActivity extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 活动名称 */
    @Excel(name = "活动名称")
    private String name;

    /** 活动地点 */
    @Excel(name = "活动地点")
    private String location;

    /** 活动时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "活动时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date activityTime;

    /** 主办方 */
    @Excel(name = "主办方")
    private String organizer;

    /** 活动描述 */
    @Excel(name = "活动描述")
    private String description;

    /** 最大参与人数 */
    @Excel(name = "最大参与人数")
    private Long maxParticipants;

    /** 当前参与人数 */
    @Excel(name = "当前参与人数")
    private Long currentParticipants;

    /** 0 已结束 1 进行中 2 未开始 */
    @Excel(name = "0 已结束 1 进行中 2 未开始")
    private Long status;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }

    public void setLocation(String location) 
    {
        this.location = location;
    }

    public String getLocation() 
    {
        return location;
    }

    public void setActivityTime(Date activityTime) 
    {
        this.activityTime = activityTime;
    }

    public Date getActivityTime() 
    {
        return activityTime;
    }

    public void setOrganizer(String organizer) 
    {
        this.organizer = organizer;
    }

    public String getOrganizer() 
    {
        return organizer;
    }

    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }

    public void setMaxParticipants(Long maxParticipants) 
    {
        this.maxParticipants = maxParticipants;
    }

    public Long getMaxParticipants() 
    {
        return maxParticipants;
    }

    public void setCurrentParticipants(Long currentParticipants) 
    {
        this.currentParticipants = currentParticipants;
    }

    public Long getCurrentParticipants() 
    {
        return currentParticipants;
    }

    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("location", getLocation())
            .append("activityTime", getActivityTime())
            .append("organizer", getOrganizer())
            .append("description", getDescription())
            .append("maxParticipants", getMaxParticipants())
            .append("currentParticipants", getCurrentParticipants())
            .append("status", getStatus())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
